前言 虽然现在处理日期方面已经有了很成熟的也很好用的库,例如(momentjs和date-fns),但是在实际开发中,我们有时候可能并不需要整个库。所以我就在下面整理了在前端开发时对日期时间的各种操作,也算是比较全的了。其中一部分来自自己,还有一部分来源于我们万能的网友~ 获取当前时间戳var timestamp = Date.parse(new Date()); //精确到秒
var timestamp = (new Date()).valueOf(); //精确到毫秒
var timestamp = new Date().getTime(); //精确到毫秒
var timestamp = +new Date();
var timestamp = Date.now();获取指定时间戳var timestamp = (new Date(" 2019/10/24 08:00:00")).getTime();
var timestamp = (new Date(" 2019-10-24 08:00:00")).getTime();获取当前时间的前一天/后一天的时间戳var timestamp = +new Date() - 24*60*60*1000;
var timestamp = +new Date() + 24*60*60*1000;今日零点时间戳var timestamp = new Date(new Date().toLocaleDateString()).getTime();今日最晚时间 23:59:59的时间戳let timestamp = new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1;获取当前时间的n天后的时间戳/**
* @param {number} n 天数
* @returns {Number} 返回值为时间毫秒值
*/
function toNextTimes(n){
let timestamp = +new Date() + n * 86400000;
return timestamp;
}本周第一天/***
* @return {*} WeekFirstDay 返回本周第一天的时间
*/
function showWeekFirstDay(){
let Nowdate=new Date();
let WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
return WeekFirstDay;
}本周最后一天/***
* @return {*} WeekLastDay 返回本周最后一天的时间
*/
function showWeekLastDay(){
let Nowdate=new Date();
let WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
let WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);
return WeekLastDay;
}本月第一天/***
* @return {*} MonthFirstDay 返回本月第一天的时间
*/
function showMonthFirstDay(){
let Nowdate=new Date();
let MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth());
return MonthFirstDay;
}本月最后一天/***
* @return {*} MonthLastDay 返回本月最后一天的时间
*/
function showMonthLastDay(){
let Nowdate=new Date();
let MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+1);
let MonthLastDay=new Date(MonthNextFirstDay-86400000);
return MonthLastDay;
}日期转时间戳/**
* @param {String} time - 日期字符串,如'2018-8-8','2018,8,8','2018/8/8'
* @returns {Number} 返回值为时间毫秒值
*/
function timeToTimestamp (time) {
let date = new Date(time);
let timestamp = date.getTime();
return timestamp;
}格式化当前时间/***
* @return {string} timeText 返回系统时间字符串
*/
function getdataTimeSec() {
let time = new Date();
let weekDay;
let year = time.getFullYear();
let month = time.getMonth() + 1;
let day = time.getDate();
//获取时分秒
let h = time.getHours();
let m = time.getMinutes();
let s = time.getSeconds();
//检查是否小于10
h = check(h);
m = check(m);
s = check(s);
let now_day = time.getDay();
switch (now_day) {
case 0: {
weekDay = "星期日"
}
break;
case 1: {
weekDay = "星期一"
}
break;
case 2: {
weekDay = "星期二"
}
break;
case 3: {
weekDay = "星期三"
}
break;
case 4: {
weekDay = "星期四"
}
break;
case 5: {
weekDay = "星期五"
}
break;
case 6: {
weekDay = "星期六"
}
break;
case 7: {
weekDay = "星期日"
}
break;
}
let timeText = year + "年" + month + "月" + day + "日 " + " " + weekDay + " " + h + ":" + m +":" + s;
return timeText
}返回指定时间戳之间的时间间隔/**
* @param {*} startTime 开始时间的时间戳
* @param {*} endTime 结束时间的时间戳
* @return {string} str 返回时间字符串
*/
function getTimeInterval(startTime, endTime) {
let runTime = parseInt((endTime - startTime) / 1000);
let year = Math.floor(runTime / 86400 / 365);
runTime = runTime % (86400 * 365);
let month = Math.floor(runTime / 86400 / 30);
runTime = runTime % (86400 * 30);
let day = Math.floor(runTime / 86400);
runTime = runTime % 86400;
let hour = Math.floor(runTime / 3600);
runTime = runTime % 3600;
let minute = Math.floor(runTime / 60);
runTime = runTime % 60;
let second = runTime;
let str = '';
if (year > 0) {
str = year + '年';
}
if (year 0) {
str = month + '月';
}
if (year |